export default {
    install(Vue,x,y,z){  //此vue对象是vm的构造函数对象 还可以接收自定义的参数
        console.log(Vue,x,y,z);
        
        console.log("customPlugin生效了")
        alert("customPlugin生效了")

         //全局过滤器
         Vue.filter('mySlice', function (val){
            return val.slice(0,4);
        });

        //全局指令
        Vue.directive('fbind', {
            bind(el, binding){
                // console.log('bind')
                el.value = binding.value;
            },
            //指令被插入页面时
            inserted(el, binding){
                // console.log('inserted')
                el.focus();
            },
            //指令所在模版被重新解析时
            update(el, binding){
                // console.log('update');
                el.value = binding.value;
            }
        });


        //全局混入
        Vue.mixin({
            data(){
                return {
                    x:1,
                    y:2
                }
            }
        });
        Vue.prototype.sayHello = function(){ //原型上的方法 VM和VC都可见
            console.log("hello vue cli");
        } 


        // Vue.prototype.sayHello = function(){
        //     console.log("hello vue cli"); 
        // }
    }
}
